
#ifndef MAIN2_H_
#define MAIN2_H_

#include <fstream>
#include <vector>


// da li treba?
#include "OurSemanticAnalyzer.h"


#include "SemanticNodeProgram.h"
#include "../main_container.h"

extern MainContainer *compilerData;

void main2();
std::string flattenNamePeriodAdd(const SyntaxTreeNode &nameNode);
std::string flattenTypeName(const SyntaxTreeNode &typeNode);
std::vector<std::string> flattenTemplateIdentifiers(const SyntaxTreeNode &templateUseNode);
SyntaxTreeNode *copyNode(const SyntaxTreeNode *aNode, SyntaxTreeNode *parent);
bool isValueNode(const SyntaxTreeNode *expressionNode);

#endif /* MAIN2_H_ */
